package main

import "fmt"

// 递归:函数自己调用自己

//计算n的阶层
func f(n uint64) uint64 {
	if n <= 1 {
		return 1
	}
	return n * f(n-1)
}

// 上台阶
// n个台阶,一次可以走1步,也可以走2步,有多少种走法
func taijie(n uint64) uint64 {
	if n == 1 {
		return 1
	}
	if n == 2 {
		return 2
	}
	return taijie(n-1) + taijie(n-2)
}

func main() {
	ret := f(7)
	fmt.Println(ret)

	u := taijie(4)
	fmt.Println(u)
}
